package com.ruoyi.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 罚款业务对象 sys_penalty
 *
 * @author qyb
 * @date 2023-12-26
 */
@Data
public class Penalty extends BaseEntity
{
    private static final long serialVersionUID = 1L;
    /** 主键 */
    @NotNull(message = "罚款id不能为空")
    private Long penaltyId;
    /** 书id */
    @Excel(name = "书id")
    private Long bookId;
    /** 借阅id */
    @Excel(name = "借阅id")
    private Long lendId;
    /** 赔偿金额 */
    @Excel(name = "赔偿金额")
    @Min(value = 0,message = "罚款金额必须大于等于0")
    private BigDecimal penaltyPrice;
    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;
    /** 用户备注 */
    @Excel(name = "用户备注")
    private String userRemark;
    /** 管理员更新id */
    @Excel(name = "管理员更新id")
    private Long adminId;
    /** 管理员备注 */
    @Excel(name = "管理员备注")
    private String adminRemark;
    /** 罚款产生的日期 */
    @Excel(name = "罚款产生的日期")
    private Date createTime;
    /** 还款日期 */
    @Excel(name = "应还日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date shouldTime;
    /** 管理员更新的日期 */
    @Excel(name = "管理员更新的日期")
    private Date updateTime;
    /** 是否已经赔偿，0表示没有，1表示已经赔偿 */
    @Excel(name = "是否已经赔偿", readConverterExp = "0=，没有，1已赔偿")
    private Integer isIndemnify;
    /** 逻辑删除（0，未删除，1已删除） */
    @Excel(name = "逻辑删除", readConverterExp = "0=，未删除，1已删除")
    private Integer isDelete;
}
